﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace GUI
{
    public partial class FormKhachHang : Form
    {
        public FormKhachHang()
        {
            InitializeComponent();
        }
        #region bientoancuc
        //bien toan cuc:
        public int dangnhap;
        #endregion

        # region combobox_Load

        private void loadComboBoxTinhTrang()
        {
            if (dangnhap == 1)//nhan vien
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("text");
                dt.Columns.Add("value");
                dt.Rows.Add("Tất cả", "");
                dt.Rows.Add("Chờ", "Chờ");
                dt.Rows.Add("Hoạt động", "Hoạt động");
                dt.Rows.Add("Khóa", "Khóa");
                cmbTinhTrang.DisplayMember = "text";
                cmbTinhTrang.ValueMember = "value";
                cmbTinhTrang.DataSource = dt;
                cmbTinhTrang.SelectedIndex = 0;
            }
            else if (dangnhap == 2)//khach hang
            {
                gbBoLoc.Visible = false;
            }

        }
        #endregion


        private void FormKhachHang_Activated(object sender, EventArgs e)
        {

            //combobox TinhTrang:
            loadComboBoxTinhTrang();

            int dem = 0;
            List<KhachHangDTO> listKhachHangDTO = KhachHangBUS.DanhSachTaiKhoan("", "", ref dem);//xem danh sách tất cả khách hàng
            insertDataGirdView(listKhachHangDTO);

            gbDanhSachKhachHang.Text = "Danh sách khách hàng: " + dem.ToString() + " khách hàng" ;
            
        }

        private void FormKhachHang_Resize(object sender, EventArgs e)
        {
            pnMain.Location = new Point((this.Width - pnMain.Width) / 2, pnMain.Location.Y);

            if (WindowState == FormWindowState.Maximized)
            {
                this.ShowIcon = false;
            }
            else
            {
                this.ShowIcon = true;
            }
        }

        private void btnLoc_Click(object sender, EventArgs e)
        {
            //Danh sách tài khoản
            string tenkhachhang = txtTenKhachHang.Text.Trim();
            string tinhtrang = (string)cmbTinhTrang.SelectedValue;

            int dem = 0;
            List<KhachHangDTO> listKhachHangDTO = KhachHangBUS.DanhSachTaiKhoan(tenkhachhang, tinhtrang, ref dem);//xem danh sách tất cả khách hàng
            insertDataGirdView(listKhachHangDTO);
            gbDanhSachKhachHang.Text = "Danh sách khách hàng: " + dem.ToString() + " khách hàng";
        }

        private void btnXem_Click(object sender, EventArgs e)
        {
            FormChiTietKhachHang f = new FormChiTietKhachHang();
            f.maKhachHang = int.Parse(dgvKhachHang.CurrentRow.Cells["ColMaKhachHang"].Value.ToString());
            f.ShowDialog();
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void btnLamLai_Click(object sender, EventArgs e)
        {
            FormKhachHang_Activated(sender, e);
        }

        private void insertDataGirdView(List<KhachHangDTO> listKhachHangDTO )
        {
            dgvKhachHang.Rows.Clear();
            if (listKhachHangDTO != null)
            {
                KhachHangDTO item = new KhachHangDTO();
                for (int i = 0; i < listKhachHangDTO.Count; i++)
                {
                    item = listKhachHangDTO[i];
                    dgvKhachHang.Rows.Add((i + 1).ToString(), item.MaKhachHang.ToString(), item.Email, item.TenKhachHang, item.TinhTrang);
                    dgvKhachHang.Rows[i].ReadOnly = true;
                }

                btnXem.Enabled = true;
                btnCapNhat.Enabled = true;
            }
            else
            {
                btnXem.Enabled = false; 
                btnCapNhat.Enabled = false;
            }
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (dgvKhachHang.Rows.Count > 0)
            {
                FormCapNhatKhachHang f = new FormCapNhatKhachHang();
                f.makhachhang = int.Parse(dgvKhachHang.CurrentRow.Cells["ColMaKhachHang"].Value.ToString());
                int row = dgvKhachHang.CurrentRow.Index;
                int fist = dgvKhachHang.FirstDisplayedCell.RowIndex;
                f.ShowDialog();
                if (f.reset)
                {
                    int dem = 0;
                    List<KhachHangDTO> listKhachHangDTO = KhachHangBUS.DanhSachTaiKhoan("", "", ref dem);//xem danh sách tất cả khách hàng
                    insertDataGirdView(listKhachHangDTO);
                    dgvKhachHang.FirstDisplayedCell = dgvKhachHang.Rows[fist].Cells[0];
                    dgvKhachHang.CurrentCell = dgvKhachHang.Rows[row].Cells[0];
                    gbDanhSachKhachHang.Text = "Danh sách khách hàng: " + dem.ToString() + " khách hàng";
                }
            }
        }
    }
}
